package com.logic.landseaserver.persistence.read;

import java.util.List;
import java.util.Map;

import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.domain.Account;
import com.logic.landseaserver.models.prepayment.bean.AccountDetailResp;
import com.logic.landseaserver.models.prepayment.bean.AccountResp;
import com.logic.landseaserver.models.prepayment.bean.AcotBalaForWCResp;
import com.logic.landseaserver.models.prepayment.bean.AotuPayBill;

public interface AccountReadMapper {
    
    Account selectByPrimaryKey(Integer id);

    List<AccountResp> selectAccountListByAM(QueryUtil queryUtil);

    List<AccountResp> selectAccountListByDZ(QueryUtil queryUtil);

    Account selectAccount(Integer roomId, Integer userId);

    List<AcotBalaForWCResp> getAccountBalanceForWechat(Integer userId);

    AccountDetailResp selectAccountDetail(Integer accountId);
    
    /**
     * 
     * [简要描述]：查询可自动抵扣的账单</br>
     * [详细描述]：根据合同ID</br>
     * [作者]：Aaron(2017-11-29)</br>
     *
     * @param paramMap
     * @return
     *
     */
    List<AotuPayBill> queryAutoPayBills(Map<String,Object> paramMap);
    
    /**
     * 
     * [简要描述]：根据余额ID查寻账户</br>
     * [详细描述]：</br>
     * [作者]：Aaron(2017-12-01)</br>
     *
     * @param balanceId
     * @return
     *
     */
    Account selectByAccountBalanceId(Integer balanceId);

    List<Account> selectByPrjId(Integer prjId);
}